package com.liulei.controller;

import com.liulei.service.AccountService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import javax.servlet.http.HttpSession;

@Controller
@Slf4j
public class AccountController {
    /**
     * Controller控制器依赖于业务逻辑层，将AccountService自动装配到控制器(AccountController对象)
     */
    @Autowired
    private AccountService accountService;

    /**
     * 该方法用来处理前端浏览器的登录请求，登录成功跳转到"送水工管理系统"主页面，登录失败返回index.html页面
     * 步骤：
     * 1 调用业务逻辑对象(AccountService)的login方法判断登录是否成功
     * 2 登录成功跳转到"送水工管理系统"主页面
     * 3 登录失败返回index.html页面，并给出提示"用户名或者密码错误"
     * @param userName 浏览器表单采集的用户名
     * @param userPwd  浏览器表单采集的密码
     * @param model 用来在视图层和控制层之间传递数据的对象
     * @return 登录成功跳转到"送水工管理系统"主页面，登录失败返回index.html页面
     */
//    @RequestMapping(value="/login",method = RequestMethod.POST)
    @RequestMapping(value="/login",method = RequestMethod.POST)
    public String login(String userName, String userPwd, Model model, HttpSession session) {
        boolean result = accountService.login(userName,userPwd);
        //条件成立：登录成功，否则登陆失败
        if(result) {
            //登录成功,将表单输入的用户名，传递到前端页面
            session.setAttribute("currentUser", userName);
            //登录成功跳转到主页面
            return "waterMainMenu";
        }else {
            model.addAttribute("loginFail","用户名或者密码错误");
            return "index";
        }
    }
}
